A typical data storage system includes a magnetic medium (such as a disk or a tape) for storing data, and a transducer used to write and read data to and from the medium. Writing data to a disk generally involves passing a current through a write element of the transducer to produce magnetic lines of flux which magnetize a specific portion of the disk surface. Each magnetized portion normally covers a number (e.g., 100-1000) of grains. Reading data from a specified disk location is typically accomplished by a read element of the transducer sensing the magnetic flux lines emanating from magnetized portions of the disk. As the read element (that can include an inductive sensor, a magnetoresistive (MR) sensor, or a GMR sensor) passes over a disk""s surface, interaction between the read element and magnetized portions of the disk""s surface generates electrical signals, commonly referred to as readback signals.
Such readback signals can also contain errors that arise from, e.g. thermal asperities or baseline wander of the readback signal, and can be corrected by circuitry as described in U.S. Pat. No. 5,818,565. Furthermore, U.S. Pat. No. 5,530,705 describes a method for determining errors in data read from a transducer in a disk drive, correcting the errors in the data by use of error correction circuitry, maintaining a metric of the errors, and when the metric reaches a threshold, applying a toggle procedure to the transducer in an attempt to improve the transducer""s performance. Moreover, if a head exhibits a low amplitude state, then the state can be changed to the normal (high amplitude) state by reversing the bias current as described in U.S. Pat. No. 5,661,614.
Western Digital Corporation""s drives (such as WD Caviar AC310100 10.1 GB hard drive) have a feature entitled xe2x80x9cData Lifeguardxe2x80x9d that automatically identifies and repairs sectors before data loss occurs, as described in, for example, xe2x80x9cFailure Prevention and Data Protection Through Data Lifeguard,xe2x80x9d available at http://www.wdc.com. As described therein, the feature performs off-line scans of the disk while the hard drive is idle, and refreshes weak data. The feature initiates automatically every eight operating hours for daily protection, with the goal of performing one scan per day. Data Lifeguard""s off-line scan identifies and repairs marginal sectors. When the off-line scan encounters an ECC Firmware Correctable Error, Data Lifeguard runs a Sector Test to determine if a media defect exists.
If a media defect exists, Data Lifeguard rewrites the corrected data back to the original sector, then rereads it to ensure that the sector is fixed. If the error recurs on reread, Data Lifeguard then relocates the sector to a spare pool and writes the corrected data to the spare sector. When the off-line scan encounters sectors that require extensive retries for error recovery, Data Lifeguard again performs the Sector Test. If the error still recurs on reread, Data Lifeguard then relocates the sector to the spare pool and writes the corrected data to the spare sector. Data Lifeguard also protects future data to be written to suspect sectors. When the off-line scan encounters an ECC Uncorrectable Error, Data Lifeguard updates the drive""s internal defect list for the suspect sector. The next host write command to the suspect sector will perform a Sector Test after the write to ensure that the user data written is readable. If an error occurs during the reread, Data Lifeguard relocates the sector to the spare pool and writes the user data to the spare sector.
An apparatus and method in accordance with the invention write data to a storage medium, e.g., a magnetic medium (such as a hard disk, a floppy disk, or a tape), and refresh the data prior to the occurrence of a non-recoverable error (also called xe2x80x9chardxe2x80x9d error) in the data. Specifically, in one embodiment, the data is stored in an areal density that is sufficiently high to cause spontaneous degradation (e.g. loss in amplitude of a readback signal) of the data over time. Whenever necessary, the written data is read and used in the normal manner (although the amplitude of the readback signal reduces with time).
Subsequent to the writing of data and before a hard error occurs due to spontaneous degradation, the apparatus and method perform a xe2x80x9crefreshxe2x80x9d operation. In the refresh operation, the to-be-refreshed data is read from the storage medium and re-written (either on the same or different storage medium depending on the embodiment). Repeated performance of the refresh operation allows data to be stored for an indefinite period of time, and at densities sufficiently high to result in some degradation prior to each refresh operation, while avoiding a hard error.
In one implementation, the apparatus and method perform the refresh operation only on occurrence of a predetermined event, e.g. when an indicator (also called xe2x80x9crefresh indicatorxe2x80x9d) satisfies a predetermined condition, indicating that data needs to be refreshed (e.g., because the data is about to contain one or more recoverable errors, also called xe2x80x9csoftxe2x80x9d errors). Depending on the embodiment, the apparatus and method may save the refresh indicator contemporaneous with writing of the data. Alternatively, the refresh indicator can be built into the apparatus or method (e.g. hardcoded in software). Use of the refresh indicator eliminates the need to scan the hard disk (as required by, e.g. Data Lifeguard) to identify the to-be-refreshed data. Instead, use of the refresh indicator automatically identifies to-be-refreshed data, even before a hard error occurs, thereby to prevent data loss.
In one example, the apparatus and method read the data back contemporaneous with writing of the data, and measure an amplitude (or other property) of a readback signal, and store as the refresh indicator a predetermined fraction (e.g. half) of the measured value. In this example, the amplitude of the readback signal reduces over time, as the magnetization in the storage medium become disordered (e.g. due to thermal energy). When the current value of the amplitude falls below the stored value, the data is refreshed. The predetermined fraction is determined by testing the storage medium under realistic conditions until one or more soft errors (or a hard error in another implementation) occurs, followed by dividing the amplitude""s value (at the time of error) with the amplitude""s value at the time of writing.
In another embodiment, a duration (or a fraction thereof) for which the data can be read without error (also called xe2x80x9cerror-free durationxe2x80x9d) is added to the current date, to compute a date in future (also called xe2x80x9cnext refresh datexe2x80x9d or simply xe2x80x9crefresh datexe2x80x9d) when the data needs to be refreshed. The apparatus and method store the next refresh date as the refresh indicator. After the error-free duration, the refresh date becomes older than the current date, and the apparatus and method perform a refresh operation, and reset the refresh date.
Instead of using a refresh indicator, other techniques can be used in other implementations. For example, data can be refreshed periodically (e.g. once a day), regardless of the amount of degradation in the data (e.g. without performing an off-line scan). As another example, a refresh operation may be performed in response to a predetermined event, such as the detection of a soft error. Alternatively, two amplitudes may be compared, wherein a first amplitude is of the to-be-refreshed data, and a second amplitude is of a test signal that has just been written, thereby to determine if there is a loss of amplitude by a predetermined amount (and if so, a refresh operation is performed).
The refresh operation can be repeated any number of times, to maintain the data without irrecoverable loss for an indefinite time period, thereby to allow storage of data at densities that otherwise result in spontaneous loss of data over time. Specifically, data can be deliberately stored in grains having magnetization energy (defined to be KuV wherein Ku is grain anisotropy and V is the grain volume) that is less than the energy normally used to ensure avoidance of spontaneous demagnetization by thermal energy. Such use allows the areal density (defined to be number of bits in a unit area) of the stored data to be increased significantly (e.g. by an order of magnitude), as compared to areal densities in the prior art. The areal density can be increased by decreasing the diameter of each grain or by decreasing the number of grains being used to hold a single bit of data, or both. The areal density can also be increased by storing adjacent bits closer to one another. Any such increase in areal density allows storage media (such as hard disks or tapes) to have increased data storage capacity, as compared to the prior art.